import type { Metadata } from "next";
import { Inter as FontSans } from "next/font/google"; // 导入 Google 字体
import "./prosemirror.css"; // 导入 Prosemirror 编辑器的样式
import "./globals.css"; // 导入全局样式
import { cn } from "@/lib/utils"; // 导入用于条件合并类名的工具函数
import { ThemeProvider } from "@/components/theme-provider"; // 导入主题提供者组件
import { Toaster } from "@/components/ui/sonner"; // 导入通知组件

// 使用 Google 字体，并设置 CSS 变量
const fontSans = FontSans({
  subsets: ["latin"], // 字体子集
  variable: "--font-sans", // CSS 变量
});

// 定义页面的元数据
export const metadata: Metadata = {
  title: "Create Next App", // 页面标题
  description: "Generated by create next app", // 页面描述
};

// 根布局组件
export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode; // 子组件
}>) {
  return (
    <html lang="en"> {/* HTML 根元素 */}
      <body
        className={cn(
          "min-h-screen bg-background font-sans antialiased", // 应用样式类名
          fontSans.variable, // 使用 Google 字体 CSS 变量
        )}
      >
        <ThemeProvider
          attribute="class" // 主题的 class 属性
          defaultTheme="system" // 默认主题
          enableSystem // 启用系统主题
          disableTransitionOnChange // 禁用主题切换动画
        >
          {children} {/* 渲染子组件 */}
          <Toaster /> {/* 渲染通知组件 */}
        </ThemeProvider>
      </body>
    </html>
  );
}
